package com.cms.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.cms.common.annotation.RecordLog;
import com.cms.exception.SystemDBException;
import com.cms.model.TrBankAccount;
import com.cms.model.TrBankInfo;

public interface BankInfoMapper {

	 /***
	  * 新增银行账号信息
	  * @param info
	  * @throws SystemDBException
	  */
	 @RecordLog(expression="新增银行[${id}]${name}",name="name",catalog="bankInfo")
	 public void saveBankInfo(@Param("bankInfo")TrBankInfo info)throws SystemDBException;
	 
	 /***
	  * 修改银行账号信息
	  * @param info
	  * @throws SystemDBException
	  */
	 @RecordLog(expression="修改银行[${id}]${name}信息",name="name",catalog="bankInfo")
	 public void updateBankInfo(@Param("bankInfo")TrBankInfo info)throws SystemDBException;
	 
	 
	 /**
	  * 
	  * @param info
	  * @return
	  * @throws SystemDBException
	  */
	 public TrBankInfo getBankInfo(@Param("bankInfo")TrBankInfo info);
	 
 
	 
	 /***
	  *  保存银行账号信息
	  * @param account
	  * @throws SystemDBException
	  */
	 @RecordLog(expression="新增银行账号[${id}]${accountName}信息",name="accountName",catalog="bankAccount")
	 public void saveBankAccount(@Param("account")TrBankAccount account)throws SystemDBException;
	 
	 /***
	  *  修改银行账号信息
	  * @param account
	  * @throws SystemDBException
	  */
	 @RecordLog(expression="修改银行账号[${id}]${accountName}信息",name="accountName",catalog="bankAccount")
	 public void updateBankAccount(@Param("account")TrBankAccount account)throws SystemDBException;
	 
	 
	 /***
	  *  修改银行账号状态信息
	  * @param account
	  * @throws SystemDBException
	  */
	 @RecordLog(expression="修改银行账号[${id}]${accountName}状态",name="accountName",catalog="bankAccount")
	 public void changeBankAccountStatus(@Param("account")TrBankAccount account)throws SystemDBException;
	 
	 
	 /***
	  * 
	  * @param account
	  * @return
	  */
	 public TrBankAccount getBankAccountInfo(@Param("account")TrBankAccount account);
	 
	 /***
	  * 
	  * @return
	  */
	 public List<TrBankInfo>getBankInfoList();
}
